﻿using System.Collections.Generic;
//
namespace PerceptiveMCAPI.Types
{
   public class listSubscribeParms
   {
      public string apikey { get; set; }
      public string id { get; set; }
      public string email_address { get; set; }
      public Dictionary<string, object> merge_vars { get; set; }
      public EnumValues.emailType email_type { get; set; }
      public bool double_optin { get; set; }
      public bool update_existing { get; set; }
      public bool replace_interests { get; set; }
      public bool send_welcome { get; set; }
      // --------------------------------------------------------
      public listSubscribeParms()
      {
         this.apikey = MCAPISettings.default_apikey;
         this.merge_vars = new Dictionary<string, object>();
         this.email_type = MCAPISettings.default_listSubscribe_email_type;
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
         this.send_welcome = MCAPISettings.default_listSubscribe_send_welcome;
      }
      public listSubscribeParms( string id, string email_address, Dictionary<string, object> merge_vars )
      {
         this.apikey = MCAPISettings.default_apikey;
         this.id = id;
         this.email_address = email_address;
         this.merge_vars = merge_vars;
         this.email_type = MCAPISettings.default_listSubscribe_email_type;
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
         this.send_welcome = MCAPISettings.default_listSubscribe_send_welcome;
      }
      public listSubscribeParms( string id, string email_address,
         Dictionary<string, object> merge_vars, EnumValues.emailType email_type,
         bool double_optin, bool update_existing, bool replace_interests, bool send_welcome )
      {
         this.apikey = MCAPISettings.default_apikey;
         this.id = id;
         this.email_address = email_address;
         this.merge_vars = merge_vars;
         this.email_type = email_type;
         this.double_optin = double_optin;
         this.update_existing = update_existing;
         this.replace_interests = replace_interests;
         this.send_welcome = send_welcome;
      }
      public listSubscribeParms( string apikey, string id, string email_address, Dictionary<string, object> merge_vars )
      {
         this.apikey = apikey;
         this.id = id;
         this.email_address = email_address;
         this.merge_vars = merge_vars;
         this.email_type = MCAPISettings.default_listSubscribe_email_type;
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
         this.send_welcome = MCAPISettings.default_listSubscribe_send_welcome;
      }
      public listSubscribeParms( string apikey, string id, string email_address,
         Dictionary<string, object> merge_vars, EnumValues.emailType email_type,
         bool double_optin, bool update_existing, bool replace_interests, bool send_welcome )
      {
         this.apikey = apikey;
         this.id = id;
         this.email_address = email_address;
         this.merge_vars = merge_vars;
         this.email_type = email_type;
         this.double_optin = double_optin;
         this.update_existing = update_existing;
         this.replace_interests = replace_interests;
         this.send_welcome = send_welcome;
      }
   }
}
